1. Field of the Invention
The invention relates to the field of communication. More specifically, the invention relates to communication networks.
2. Background of the Invention
Broadband access is available with a variety of technologies including wireless, cable, and DSL. A variety of network services have emerged in conjunction with the growth and advancement of broadband access. These services include video-conferencing, VoIP, video feeds, gaming services, etc. Delivery of these services and the end-user experience to access these services were enhanced by the Point to Point Protocol over Ethernet (PPPoE).
Point to Point Protocol over Ethernet (PPPoE) was developed to meet several goals. One goal was to provide the end-user a familiar dial-up style interface. Another goal was to connect multiple hosts at a remote site through the same customer premise equipment (CPE) (“A Method for Transmitting PPP over Ethernet”, RFC 2516, 1999). PPPoE also satisfied the goal of introducing access control and billing functionality, which is inherent to PPP, to broadband access technology (“A Method for Transmitting PPP over Ethernet”, RFC 2516, 1999).
Unfortunately, PPPoE does not support multicasting. Multicast traffic can be transmitted to hosts with support for PPPoE (“PPPoE clients”), but inefficiently.
FIG. 1 (Prior Art) is a diagram of a network carrying multicast traffic to hosts. In FIG. 1, hosts 101, 103, and 105 have respectively established PPPoE sessions 121, 123, and 125 with an access concentrator 111. The hosts 101, 103, and 105 are connected to a customer premise equipment (CPE) 107 (e.g., a DSL modem, a cable modem, etc.). The CPE 107 is connected to a regional data network cloud 109 with a link 115. The regional data network cloud 109 is connected to the access concentrator 111 with a link 117.
A server 113 transmits multicast traffic 127 to the access concentrator 111 over a link 119. The access concentrator 111 transmits the multicast traffic 127 to each participating host with PPPoE unicast sessions 121, 123, and 125 (i.e., three instances of the multicast traffic 127 are transmitted in the links 115 and 117). The CPE 107 receives the three unicasts of the multicast traffic 127 for the PPPoE unicast sessions 121, 123 and 125 and broadcasts the unicasts of the multicast traffic 127 for each PPPoE unicast session 121, 123, and 125.
FIG. 2 (Prior Art) is a flowchart for receiving multicast traffic. At block 201, the host 101 transmits a PPPoE active discovery request (PADR) to the access concentrator 111. At block 202, a PPPoE unicast session is established between the access concentrator 111 and the host 101. At block 203, the host 101 receives notification of an Internet Protocol (IP) multicast channel. At block 205, the host 101 listens for traffic on the IP multicast channel. At block 207, a unicast PPPoE process on the host 101 receives a PPPoE encapsulated IP multicast packet. At block 209, the unicast PPPoE process on the host 101 decapsulates the IP multicast packet from PPPoE. At block 211, the unicast PPPoE process passes the decapsulated IP multicast packet to an IP process on the host 101. At block 211, the IP process determines if the host 101 is listening to the IP multicast channel indicated in the IP multicast packet. If the host is not listening to the indicated IP multicast channel, then the IP process discards the IP multicast packet at block 215. If the host 101 is listening to the indicated IP multicast channel, then the IP process decapsulates the IP multicast packet from IP encapsulation. At block 219, the host 101 processes the multicast packet.
FIG. 3 (Prior Art) is a flowchart for transmitting multicast traffic to PPPoE clients from an access concentrator. At block 301, the access concentrator 111 receives notification of an IP multicast channel. At block 305, the access concentrator 111 notifies the hosts 101, 103 and 105 of the IP multicast channel. At block 307, the access concentrator 111 receives an IP multicast packet. At block 309, the access concentrator 111 generates IP multicast packets for each of the established PPPoE unicast sessions 121, 123, and 125 that is participating in the IP multicast channel. In this example, all of the hosts 101, 103, and 105 are participating in the IP multicast channel. At block 311, the access concentrator 111 encapsulates the generated IP multicast packets with PPPoE. Each IP multicast packet's PPPoE encapsulation includes an identifier for the corresponding PPPoE unicast sessions 121, 123, or 125. Each of the generated IP multicast packets also include an identifier for the unicast Ethernet address of the corresponding one of the hosts 101, 103, and 105. The access concentrator 111 can additionally encapsulates the PPPoE encapsulated IP multicast packets with a delivery protocol (e.g., ATM). At block 315, the access concentrator 111 transmits the encapsulated IP multicast packets (one per each participating PPPoE unicast session).
Transmitting IP multicast packets to PPPoE clients uses bandwidth inefficiently. In addition, the PPPoE client expends processing power at lower layers on IP multicast packets that will be discarded at a higher layer. Furthermore, an access concentrator expends valuable resources generating and transmitting copies of multicast traffic for established PPPoE unicast sessions.